package com.pxst.fx.service;

import com.pxst.fx.entity.SysFxOrderEntity;
import com.pxst.fx.entity.SysFxOrderExcelModel;
import com.pxst.fx.entity.SysFxOrderLogEntity;
import com.pxst.fx.req.SysFxOrderBatchReq;
import com.pxst.fx.req.SysFxOrderChildInfoReq;
import com.pxst.fx.req.SysFxOrderChildStatusReq;
import com.pxst.fx.req.SysFxOrderEntityReq;
import com.pxst.fx.resp.SysFxOrderByIdChildResp;
import com.pxst.fx.resp.SysFxOrderByIdResp;
import com.pxst.fx.resp.SysFxOrderEntityResp;
import com.pxst.fx.service.impl.SysFxOrderEntityServiceImpl;
import com.pxst.resp.ApiResp;
import com.pxst.resp.PageResp;
import icu.mhb.mybatisplus.plugln.base.service.JoinIService;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;
import java.util.Map;

/**
* @author hy
* @description 针对表【sys_fx_order(Settlement_下发订单)】的数据库操作Service
* @createDate 2023-09-20 10:40:45
*/
public interface SysFxOrderEntityService extends JoinIService<SysFxOrderEntity> {



    /**
     * @description: 下发条件分页查询
     * @author: hy
     * @date: 2023/10/26 17:09
     * @param: [sysFxOrderEntityReq]
     * @return: [com.pxst.fx.req.SysFxOrderEntityReq]
     **/
    ApiResp<PageResp<SysFxOrderEntityResp>> getSysFxOrderList(@Param("sysFxOrderEntityReq") SysFxOrderEntityReq sysFxOrderEntityReq);


    /**
     * 汇出报表
     * @param sysFxOrderEntityReq
     * @return
     */
    List<SysFxOrderExcelModel> download(SysFxOrderEntityReq sysFxOrderEntityReq);

    /**
     * 下发详情
     * @param id
     * @return
     */
    ApiResp fxOrderDetail(Long id,Integer rp);


    /**
     * 下发完成按钮
     * @param id
     * @return
     */
    ApiResp done(Long id);

    /**
     * 下发批准按钮
     * @param id
     * @param sysFxOrderBatchReq
     * @return
     */
    ApiResp batch(Long id, SysFxOrderBatchReq sysFxOrderBatchReq);

    /**
     * 拒绝按钮
     * @param id
     * @return
     */
    ApiResp reject(Long id);
}
